<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SemOpt: SetArgumentsList Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">SemOpt
   &#160;<span id="projectnumber">0.2alpha5-SCC</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classSetArgumentsList.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">SetArgumentsList Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="SetArgumentsList" -->
<p>Class representing a vector of labelling assignment.  
 <a href="classSetArgumentsList.html#details">More...</a></p>

<p><a href="classSetArgumentsList-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#a8e43d7a209b8ac6c5cdc5faf3227f12d">SetArgumentsList</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">constructs an empty vector of <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a>  <a href="#a8e43d7a209b8ac6c5cdc5faf3227f12d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#a6d938215d6fc6faebe6f80c300a86d2d">SetArgumentsList</a> (vector&lt; <a class="el" href="classSetArguments.html">SetArguments</a> * &gt; &amp;_list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> with stored the same elements stored in the parameter.  <a href="#a6d938215d6fc6faebe6f80c300a86d2d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#ac67a5a28311cd326d6cc448bda06ec50">clone</a> (<a class="el" href="classSetArgumentsList.html">SetArgumentsList</a> *list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">clone all the references used in the caller set  <a href="#ac67a5a28311cd326d6cc448bda06ec50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSetArguments.html">SetArguments</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#ae4695dd5a00286692e6b7903ec017f18">at</a> (unsigned int i) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">the <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> positioned to i index  <a href="#ae4695dd5a00286692e6b7903ec017f18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#ac04d83b12667ba8a9ae8990f0a789035">push_back</a> (<a class="el" href="classSetArguments.html">SetArguments</a> *lab)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">add a new <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> in this set  <a href="#ac04d83b12667ba8a9ae8990f0a789035"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#a65c7e6cf46f3e6f8c5e849aa9506557e">clearAll</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#ab1789b23810da76e65fd902183529638">size</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">the size of this set of <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a>  <a href="#ab1789b23810da76e65fd902183529638"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SetArgumentsListIterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#a3104fc77d6f9353b8fb2fed4737b4dbe">begin</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the first element of the list  <a href="#a3104fc77d6f9353b8fb2fed4737b4dbe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">SetArgumentsListIterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#a6aff07396c1207e69a9a98e51b9de736">end</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the last element of the list  <a href="#a6aff07396c1207e69a9a98e51b9de736"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#aba764b29bae21920d12b67ef8e466fae">operator==</a> (const <a class="el" href="classSetArgumentsList.html">SetArgumentsList</a> &amp;other) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">checks if the 2 <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> stored the same <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a>.  <a href="#aba764b29bae21920d12b67ef8e466fae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#a81b8e2e59eaf34563c31231e522a19e1">exist</a> (const <a class="el" href="classSetArguments.html">SetArguments</a> *lab) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">check wether or not a <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> exist in the caller <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a>  <a href="#a81b8e2e59eaf34563c31231e522a19e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#a297fe7cde586e3584369dbeb607dbc69">addSetArgumentsToAll</a> (const <a class="el" href="classSetArguments.html">SetArguments</a> *set)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">add to all the set in the <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> the elements stored in the parameter  <a href="#a297fe7cde586e3584369dbeb607dbc69"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSetArgumentsList.html#a4d589674fadb0954b00d1b21360def36">empty</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">check wether or not this set is completely empty.  <a href="#a4d589674fadb0954b00d1b21360def36"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Class representing a vector of labelling assignment. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Massimo Bono </dd></dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8h_source.html#l00030">30</a> of file <a class="el" href="SetArgumentsList_8h_source.html">SetArgumentsList.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8e43d7a209b8ac6c5cdc5faf3227f12d"></a><!-- doxytag: member="SetArgumentsList::SetArgumentsList" ref="a8e43d7a209b8ac6c5cdc5faf3227f12d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSetArgumentsList.html#a8e43d7a209b8ac6c5cdc5faf3227f12d">SetArgumentsList::SetArgumentsList</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>constructs an empty vector of <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> </p>
<p>This funcition creates a new instance of a <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> where: </p>
<ul>
<li>the set of <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> is empty </li>
</ul>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00015">15</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a6d938215d6fc6faebe6f80c300a86d2d"></a><!-- doxytag: member="SetArgumentsList::SetArgumentsList" ref="a6d938215d6fc6faebe6f80c300a86d2d" args="(vector&lt; SetArguments * &gt; &amp;_list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSetArgumentsList.html#a8e43d7a209b8ac6c5cdc5faf3227f12d">SetArgumentsList::SetArgumentsList</a> </td>
          <td>(</td>
          <td class="paramtype">vector&lt; <a class="el" href="classSetArguments.html">SetArguments</a> * &gt; &amp;&#160;</td>
          <td class="paramname"><em>_list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct a <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> with stored the same elements stored in the parameter. </p>
<p>The function copies the values of the _list in the newly create instance, so changes to the new structure will not change the original one. Moreover, because of the reference, this copy is fast.</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>_list must have been built correctly</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">_list</td><td>the initial value of the set of set of Arguments </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00088">88</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a297fe7cde586e3584369dbeb607dbc69"></a><!-- doxytag: member="SetArgumentsList::addSetArgumentsToAll" ref="a297fe7cde586e3584369dbeb607dbc69" args="(const SetArguments *set)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classSetArgumentsList.html#a297fe7cde586e3584369dbeb607dbc69">SetArgumentsList::addSetArgumentsToAll</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSetArguments.html">SetArguments</a> *&#160;</td>
          <td class="paramname"><em>set</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>add to all the set in the <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> the elements stored in the parameter </p>
<p>This function allows you to add for each <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> inside the caller object every <a class="el" href="classArgument.html" title="Class representing an Argument.">Argument</a> stored in the <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> named set. Theorically this function implements the operator <img class="formulaInl" alt="$ \otimes $" src="form_16.png"/>: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ A \otimes E \hat{=} \{ e_{i}^{new} : e_{i}^{new}=e_{i} \cup A\} \]" src="form_17.png"/>
</p>
<p> where: </p>
<ul>
<li>A is a set of Arguments; </li>
<li>E is a set of set of Arguments; </li>
<li><img class="formulaInl" alt="$ e_{i} $" src="form_18.png"/> is a generic set inside E;</li>
</ul>
<p>Let's make it clearer with an example: </p>
<ul>
<li><img class="formulaInl" alt="$ A=\{ a, b \}$" src="form_19.png"/> </li>
<li><img class="formulaInl" alt="$ E=\{ \{ e, d \} \{ a, e \} \{ b, c, d \} \{ a, b \} \}$" src="form_20.png"/> If you assume this hypothesis then <img class="formulaInl" alt="$ A \otimes E $" src="form_21.png"/> will be: <p class="formulaDsp">
<img class="formulaDsp" alt="\[ A \otimes E = \{ \{ a, b, e, d \} \{ a, b, e \} \{ a, b, c, d \} \{ a, b \} \} \]" src="form_22.png"/>
</p>
</li>
</ul>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>set built correctly; </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><ul>
<li>every set held in the caller object contains every Arguments stored in set object</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">set</td><td>the list of elements to be added to all the <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> stored in the caller object </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00125">125</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

<p>References <a class="el" href="SetArgumentsList_8cpp_source.html#l00246">begin()</a>, and <a class="el" href="SetArgumentsList_8cpp_source.html#l00262">end()</a>.</p>

</div>
</div>
<a class="anchor" id="ae4695dd5a00286692e6b7903ec017f18"></a><!-- doxytag: member="SetArgumentsList::at" ref="ae4695dd5a00286692e6b7903ec017f18" args="(unsigned int i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classSetArguments.html">SetArguments</a> * <a class="el" href="classSetArgumentsList.html#ae4695dd5a00286692e6b7903ec017f18">SetArgumentsList::at</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>the <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> positioned to i index </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> stored at the i position </dd></dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00201">201</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a3104fc77d6f9353b8fb2fed4737b4dbe"></a><!-- doxytag: member="SetArgumentsList::begin" ref="a3104fc77d6f9353b8fb2fed4737b4dbe" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SetArgumentsListIterator <a class="el" href="classSetArgumentsList.html#a3104fc77d6f9353b8fb2fed4737b4dbe">SetArgumentsList::begin</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the first element of the list </p>
<p>This function is essential to navigate in the data structure, usually to find an element. You can do it easily like this code: </p>
<div class="fragment"><pre class="fragment">        <span class="keywordflow">for</span> (<span class="keyword">auto</span> it=labellingListInstance.begin();it!=labellingListInstance.end();it++){
                cout &lt;&lt; <span class="stringliteral">&quot;labelling element: &quot;</span> &lt;&lt; *it &lt;&lt; endl;
        }
</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the first element of this <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> list </dd></dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00246">246</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

<p>Referenced by <a class="el" href="SetArgumentsList_8cpp_source.html#l00125">addSetArgumentsToAll()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00072">clone()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00180">exist()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00309">operator+()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00278">operator&lt;&lt;()</a>, and <a class="el" href="SetArgumentsList_8cpp_source.html#l00341">operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="a65c7e6cf46f3e6f8c5e849aa9506557e"></a><!-- doxytag: member="SetArgumentsList::clearAll" ref="a65c7e6cf46f3e6f8c5e849aa9506557e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classSetArgumentsList.html#a65c7e6cf46f3e6f8c5e849aa9506557e">SetArgumentsList::clearAll</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>removes all the structured contained in the instance. </p>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00221">221</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="ac67a5a28311cd326d6cc448bda06ec50"></a><!-- doxytag: member="SetArgumentsList::clone" ref="ac67a5a28311cd326d6cc448bda06ec50" args="(SetArgumentsList *list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classSetArgumentsList.html#ac67a5a28311cd326d6cc448bda06ec50">SetArgumentsList::clone</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classSetArgumentsList.html">SetArgumentsList</a> *&#160;</td>
          <td class="paramname"><em>list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>clone all the references used in the caller set </p>
<p>The function clones the caller <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> and puts the clone in the area of memory pointed by the input parameter. The function copies only the references to the object under the caller set, not the objects themselves: pratically no <a class="el" href="classArgument.html" title="Class representing an Argument.">Argument</a> or Label contained in any <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> will be cloned. In the figure the red lines are created by this functions.</p>
<div align="center">
<img src="dot_inline_dotgraph_13.png" alt="dot_inline_dotgraph_13.png" border="0" usemap="#dot_inline_dotgraph_13.map"/>
<map name="dot_inline_dotgraph_13.map" id="dot_inline_dotgraph_13.map"></map>
</div>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>list must be constructed correctly; </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><ul>
<li>the instance pointed by list contains the exact data of the caller</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">list</td><td>the object that will hold the clone of the caller </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00072">72</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

<p>References <a class="el" href="SetArgumentsList_8cpp_source.html#l00246">begin()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00262">end()</a>, and <a class="el" href="SetArgumentsList_8cpp_source.html#l00214">push_back()</a>.</p>

</div>
</div>
<a class="anchor" id="a4d589674fadb0954b00d1b21360def36"></a><!-- doxytag: member="SetArgumentsList::empty" ref="a4d589674fadb0954b00d1b21360def36" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classSetArgumentsList.html#a4d589674fadb0954b00d1b21360def36">SetArgumentsList::empty</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>check wether or not this set is completely empty. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE if in the caller object there are no <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> references, FALSE otherwise </dd></dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00141">141</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

</div>
</div>
<a class="anchor" id="a6aff07396c1207e69a9a98e51b9de736"></a><!-- doxytag: member="SetArgumentsList::end" ref="a6aff07396c1207e69a9a98e51b9de736" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SetArgumentsListIterator <a class="el" href="classSetArgumentsList.html#a6aff07396c1207e69a9a98e51b9de736">SetArgumentsList::end</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the last element of the list </p>
<p>This function is essential to navigate in the data structure, usually to find an element. You can do it easily like this code: </p>
<div class="fragment"><pre class="fragment">        <span class="keywordflow">for</span> (<span class="keyword">auto</span> it=labellingListInstance.begin();it!=labellingListInstance.end();it++){
                cout &lt;&lt; <span class="stringliteral">&quot;labelling element: &quot;</span> &lt;&lt; *it &lt;&lt; endl;
        }
</pre></div><dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the last element of this <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> list </dd></dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00262">262</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

<p>Referenced by <a class="el" href="SetArgumentsList_8cpp_source.html#l00125">addSetArgumentsToAll()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00072">clone()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00180">exist()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00309">operator+()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00278">operator&lt;&lt;()</a>, and <a class="el" href="SetArgumentsList_8cpp_source.html#l00341">operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="a81b8e2e59eaf34563c31231e522a19e1"></a><!-- doxytag: member="SetArgumentsList::exist" ref="a81b8e2e59eaf34563c31231e522a19e1" args="(const SetArguments *lab) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classSetArgumentsList.html#a81b8e2e59eaf34563c31231e522a19e1">SetArgumentsList::exist</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSetArguments.html">SetArguments</a> *&#160;</td>
          <td class="paramname"><em>lab</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>check wether or not a <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> exist in the caller <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> </p>
<p>This function allows you to check if a <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> is stored in the caller object. The function check the real value of the sets, not the reference only.</p>
<div align="center">
<img src="dot_inline_dotgraph_14.png" alt="dot_inline_dotgraph_14.png" border="0" usemap="#dot_inline_dotgraph_14.map"/>
<map name="dot_inline_dotgraph_14.map" id="dot_inline_dotgraph_14.map"></map>
</div>
<p>Let assume that you want to check if the set "C" exist in the <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a>. C is identical to A, so C is basically contained in the <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a>. The function check first if the pointed is stored in the set and only then check if the real value is contained in the set.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lab</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00180">180</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

<p>References <a class="el" href="SetArgumentsList_8cpp_source.html#l00246">begin()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00262">end()</a>, and <a class="el" href="SetArguments_8cpp_source.html#l00948">SetArguments::equal()</a>.</p>

<p>Referenced by <a class="el" href="SetArgumentsList_8cpp_source.html#l00341">operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="aba764b29bae21920d12b67ef8e466fae"></a><!-- doxytag: member="SetArgumentsList::operator==" ref="aba764b29bae21920d12b67ef8e466fae" args="(const SetArgumentsList &amp;other) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool SetArgumentsList::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classSetArgumentsList.html">SetArgumentsList</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>checks if the 2 <a class="el" href="classSetArgumentsList.html" title="Class representing a vector of labelling assignment.">SetArgumentsList</a> stored the same <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a>. </p>
<p>TODO documentation </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00341">341</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

<p>References <a class="el" href="SetArgumentsList_8cpp_source.html#l00246">begin()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00262">end()</a>, <a class="el" href="SetArgumentsList_8cpp_source.html#l00180">exist()</a>, and <a class="el" href="SetArgumentsList_8cpp_source.html#l00230">size()</a>.</p>

</div>
</div>
<a class="anchor" id="ac04d83b12667ba8a9ae8990f0a789035"></a><!-- doxytag: member="SetArgumentsList::push_back" ref="ac04d83b12667ba8a9ae8990f0a789035" args="(SetArguments *lab)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classSetArgumentsList.html#ac04d83b12667ba8a9ae8990f0a789035">SetArgumentsList::push_back</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classSetArguments.html">SetArguments</a> *&#160;</td>
          <td class="paramname"><em>set</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>add a new <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> in this set </p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>set not NULL; </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><ul>
<li>the set data is copied into the data structure</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">set</td><td>the new label to insert in the structure </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00214">214</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

<p>Referenced by <a class="el" href="SetArgumentsList_8cpp_source.html#l00072">clone()</a>, <a class="el" href="Preferred_8cpp_source.html#l00536">Preferred::getSolution()</a>, and <a class="el" href="SetArgumentsList_8cpp_source.html#l00309">operator+()</a>.</p>

</div>
</div>
<a class="anchor" id="ab1789b23810da76e65fd902183529638"></a><!-- doxytag: member="SetArgumentsList::size" ref="ab1789b23810da76e65fd902183529638" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classSetArgumentsList.html#ab1789b23810da76e65fd902183529638">SetArgumentsList::size</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>the size of this set of <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of <a class="el" href="classSetArguments.html" title="Class encompassing a set of arguments.">SetArguments</a> stored in this instance </dd></dl>

<p>Definition at line <a class="el" href="SetArgumentsList_8cpp_source.html#l00230">230</a> of file <a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a>.</p>

<p>Referenced by <a class="el" href="SetArgumentsList_8cpp_source.html#l00278">operator&lt;&lt;()</a>, and <a class="el" href="SetArgumentsList_8cpp_source.html#l00341">operator==()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="SetArgumentsList_8h_source.html">SetArgumentsList.h</a></li>
<li>src/<a class="el" href="SetArgumentsList_8cpp_source.html">SetArgumentsList.cpp</a></li>
</ul>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="classSetArgumentsList.html">SetArgumentsList</a>      </li>

    <li class="footer">Generated on Thu Oct 24 2013 17:38:31 for SemOpt by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
